﻿using System;
using System.Collections.Generic;
using System.Text;
using Castle.ActiveRecord;
using Castle.Components.Validator;
using Wolfut.MirageEE.Kernal.Common;

namespace Wolfut.MirageEE.Domain.Common
{
    /// <summary>
    /// 科目余额
    /// </summary>
    /// <remarks>
    /// Author: LEO
    /// Date:2009-03-14
    /// </remarks>
    [ActiveRecord("SUBJECT_BALANCES")]
    public class SubjectBalance : PersistentObjectWithGuid
    {
        #region 科目ID
        private string subjectID;
        [Property("SUBJECT_ID")]
        public virtual string SubjectID
        {
            get { return subjectID; }
            set { subjectID = value; }
        }
        #endregion

        #region 原币（期初余额）
        private decimal initialOriginAmount;
        [Property("INITIAL_ORIGIN_AMOUNT")]
        public virtual decimal InitialOriginAmount
        {
            get { return initialOriginAmount; }
            set { initialOriginAmount = value; }
        }
        #endregion

        #region 期初余额（本位币）
        private decimal initialStandardAmount;
        [Property("INITIAL_STANDARD_AMOUNT")]
        public virtual decimal InitialStandardAmount
        {
            get { return initialStandardAmount; }
            set { initialStandardAmount = value; }
        }
        #endregion

        #region 币别代码
        private string currencyCode;
        [Property("CURRENCY_CODE")]
        [ValidateNonEmpty, ValidateLength(0, 20, "币别代码超长")]
        public virtual string CurrencyCode
        {
            get { return currencyCode; }
            set { currencyCode = value; }
        }
        #endregion

        #region 是否删除
        private bool isDeleted;
        [Property("IS_DELETED")]
        public virtual bool IsDeleted
        {
            get { return isDeleted; }
            set { isDeleted = value; }
        }
        #endregion


    }
}
